home *** CD-ROM | disk | FTP | other *** search
/ NOVA - For the NeXT Workstation / NOVA - For the NeXT Workstation.iso / Newsletters / GEnieUnixNews / unxnl-05.92 < prev    next >
Text File  |  1992-12-27  |  43KB  |  948 lines

  1.  
  2.           _  _  _   _  _   _
  3.          // // //| // // \//     N E W S
  4.         //_// // |// //  /\\     Vol 3, Issue 5 - May 1992
  5.       R o u n d T a b l e (tm)
  6.  
  7.    Items of interest to participants of the GEnie Unix RoundTable
  8.  
  9.        The RoundTable SysOps are:
  10.        Andy Finkenstadt....ANDY       Rick Mobley.........LRARK
  11.        Gary Smith..........GARS       Brian Riley.........DELPHI
  12.        Mike Nolan..........M.NOLAN    All Unix SysOps.....UNIXSYSOPS$
  13.    We strongly encourage you to contact any or all of us if you have -ANY-
  14.  comments or suggestions. This is -YOUR- RoundTable. We are here to make
  15.  your participation as pleasant and beneficial as possible.
  16.  
  17.  ED: editor notes - Previews of coming attractions (GARS) Gary Smith
  18.  ==
  19.  
  20.    Some of you have noticed the software libraries suddenly expanded from
  21.  twenty-eight named libraries to thirty-one with an additional eight reserved
  22.  libraries. Some even noticed the reference to SLA file sections.
  23.  
  24.    SLA, Stereolithographic Association, has elected to make the GEnie Unix
  25.  RoundTable their home. This is a group that uses some very sophisticated
  26.  equipment, frontended by a SGI Unix platform, to output solid engineering
  27.  models in a very short time frame, thus reducing dramatically the time lapse
  28.  from engineering design to prototype. It is exciting to see Unix blazing
  29.  new paths in such a manner, and we look forward to their presence in our
  30.  online family.
  31.  
  32.    There are other groups that will be joining us very shortly that will add
  33.  spice to the online discussions and grant each of us an opportunity to gain
  34.  insight through the activities of others. We have already seen the NeXT
  35.  users demonstrate how a dedicated group, given an outlet like the GEnie Unix
  36.  RoundTable can create a solid support and resource center that draws others
  37.  to them. It excites me, as a SysOp and observer, to see limits removed and
  38.  opportunities rise in their place.
  39.  
  40.    Stick around folks. The show has only begun.
  41.  
  42.  NUCON 22 in Atlanta, a report (M.NOLAN) Mike Nolan
  43.  =============================
  44.  
  45.  The 22nd annual NCR User's Conference was also the first since
  46.  NCR's acquisition by AT&T.   Although there were a few signs of
  47.  AT&T's presence, for the most part it was business as usual.  A
  48.  reference to NCR as the 'Network Computer Resource of AT&T', which
  49.  surfaced a few months ago, has apparently been dropped.
  50.  
  51.  There were a few NCR badges with New Jersey addresses, and some of
  52.  them were ex-AT&T people, but an equal number were new hires.  On
  53.  the show floor, the most visible signs were the StarServer network
  54.  products, buried along the back wall of the NCR booth, and the
  55.  Safari notebook systems, now renumbered into the NCR 3100 series
  56.  but some still in cases with the Safari logo on it, along with an
  57.  NCR logo.
  58.  
  59.  The latest of these, the 3170, features a FingerPointMouse, sort of
  60.  a built-in stickless joystick operated with the index or middle
  61.  finger.  Although it is primarily an MS-DOS machine, the 3170 is
  62.  interesting because it comes with a flashcard port instead of a
  63.  floppy drive, which makes it incredibly thin and light, even with
  64.  a battery and an 80MB hard drive it was still under five pounds.
  65.  An external floppy drive is available, as is an 'Expansion Manager'
  66.  a docking station with a floppy drive, a CD ROM drive, and two
  67.  expansion slots.  Total weight is still only 13 pounds.
  68.  
  69.  NCR gave away a bag with a joint NCR/AT&T 'Putting it all together'
  70.  theme, and most of the NCR employees had a pat 'this has been a
  71.  good move' speech, but at the hospitality suite it was pretty easy
  72.  to spot the former AT&T employees, they were the ones trying to
  73.  figure out how much they should enjoy the party.  NCR's reputation
  74.  as a company that works hard and plays hard seems intact.  (Whew!)
  75.  
  76.  NUCON does not usually get many significant product announcements,
  77.  and 1992 was no exception there.  However, a working model of the
  78.  NCR 3600 massivly parallel system was on the floor, as were the
  79.  recently released 3450 and 3550 systems.  The 3550 features some
  80.  innovative fault-tolerant features, including redundant power
  81.  supplies and modularized peripherals.  (Most peripherals can be
  82.  shut down and serviced without bringing down the entire system.)
  83.  The 3550, which holds 2-8 processors, uses SVR4-MP, NCR's multi-
  84.  processor version of AT&T System V Release 4.
  85.  
  86.  NCR also showed production versions of their RAID (Redundant Array
  87.  of Inexpensive Disks) systems, in which 9 drives appear as one.
  88.  With one drive as a parity drive it is possible to lose one drive
  89.  without losing any data, and it can also be serviced while the
  90.  remaining drives stay online.  A utility program initializes and
  91.  restores the data to the replaced disk.  Sustained data transfer
  92.  rates in excess of 20 megabytes per second are also possible on the
  93.  SCSI-2 bus.
  94.  
  95.  Computer columnist and commentator John Dvorak was one of the
  96.  keynote speakers.  John seems to have done another turnabout and
  97.  feels the PC industry is on the verge of the next major platform
  98.  change.  John downplayed the possible impact of Windows NT, saying
  99.  that people won't trust Microsoft another time, and said that he
  100.  feels Unix is 'cursed'.  The new platform, John feels, will be
  101.  based on OS/2.  However, both of the last two platform changes (the
  102.  Apple ][ and the IBM PC) were essentially driven by 'killer'
  103.  applications (Visicalc and Lotus 1-2-3), and John was at a loss to
  104.  predict the next killer app.  Notably absent from John's commentary
  105.  was any mention of Apple Computer.  His disparaging remarks about
  106.  Unix were ironic at a group which is becoming increasingly Unix
  107.  oriented, as NCR is using Unix as its primary operating system on
  108.  its new products.
  109.  
  110.  ----------
  111.  
  112.  Lead Sysop Notes (ANDY)  Andrew Finkenstadt
  113.  ================         Chief Sysop
  114.  
  115.  Another month has gone by, and the Unix RoundTable is expanding still
  116.  more.  The Stereolithograpy Users Group is joining us with a bulletin
  117.  board category for public discussion.  Stereolithography is a 3D
  118.  Modeling and Rapid Prototyping technique using Silicon Graphics
  119.  machines, running a version of UNIX, of course.  Even the most non-technical
  120.  of us will find the messages here fascinating and informative.
  121.  
  122.  The month of April saw the status update on the GEnie Internet
  123.  gateway.  No further updates are available at this time, though
  124.  I am anxiously awaiting the release of it.  Stay tuned.
  125.  
  126.  The Unix Help Desk in the Conference Area and Chat Lines has helped
  127.  a number of people with big and small problems.  Recently a man
  128.  located in Tennessee set up his company's network and lamented
  129.  the long addresses required for each person from one end of his
  130.  network to another.  A quick pointer to 'smail' and its capabilities
  131.  and he was all set to go.  A tutorial on domain names and Internet
  132.  Protocol Number assignments followed.  He's now a satisfied man.
  133.  
  134.  Look for a notice from me about a Survey for the Unix RT participants.
  135.  I want to offer you what you want and need, and this is one tool
  136.  by which I can do this.  Feel free to drop me an E-Mail (my address
  137.  is ANDY, or andy@vistachrome.com, or uunet!rde!andy) and I'll
  138.  read and respond to your feedback with great interest.
  139.  
  140.  Until next month,  happy computing!
  141.  -Andy
  142.  
  143.  
  144.  Upload Contest Winners for April (ANDY)
  145.  ================================
  146.  
  147.   Congratulations go to Ken Ficara and Toshi Morita for their
  148.  qualifying uploads in the Unix RoundTable Upload Contest.  Each
  149.  of them has won a free day of their choosing in the Unix RT.
  150.  
  151.  Ken uploaded the excellent guide to Internet folklore called {ZEN
  152.  and the art of the Internet}, #3321 and Toshi uploaded some of
  153.  the Linux free version of Unix for the 386 files, including the
  154.  VERY popular Readme file, #3205.  {ZEN} will be released on
  155.  Monday, May 11, so don't fret if you can't find it right away.
  156.  
  157.  You too can qualify to win in the upload contest.  Download file
  158.  #2346 CONTEST.RULES and start uploading.
  159.  
  160.  usr/local: Items (scripts and news) snarfed from various sources
  161.  =========
  162.  
  163.   News for Unix Users and wanna-be's. (DELPHI) Brian Riley
  164.   -----------------------------------
  165.  
  166.  For those of you who can't keep up with the latest
  167.  happenings in the Unix world, here are the highlights.
  168.  
  169.  New Telebit Modem:
  170.  
  171.  The WorldBlazer external modem has a maximum sustained throughput
  172.  of 23000 bps using Turbo-PEP, a new propriatary protocol, over
  173.  clean lines. The modem also supports V.32bis, V.42, V.42bis,
  174.  UUCP, Kermit, XMODEM and YMODEM. Owners of T3000's will be
  175.  able to upgrade to the WorldPort with a new chip set and
  176.  faceplate. Fax capabilities are scheduled for release in
  177.  September.
  178.  
  179.  Unix Tools for Dos & OS/2:
  180.  
  181.  Mortice Kern Systems has released version 3.1 of their popular
  182.  LEXX and YACC utilities. These tools are useful for creating
  183.  compilers, database languages or extension languages for Dos
  184.  and OS/2 systems and are compatible with Unix tools of the same
  185.  name. YACC 3.1 now includes YACC Tracker, a debugging tool for
  186.  developers and there is online help for both tools. Also
  187.  from MKS is version 5.2 of RCS, a source code control system wich
  188.  now includes support for binary as well as text files and
  189.  enhanced security features. MKS Toolkit is up to version 3.2 and
  190.  emulates SVR4 utilities, adds enhancements to some commands and
  191.  includes MKS Korn shell.
  192.  
  193.  
  194.  Shrink wrapped UNIX:
  195.  
  196.  Unix System Laboratories announced the scheduled release of
  197.  Desktop Unix, otherwise known as Unix Lite, for MIPS, SPARC and
  198.  Intel platforms for the third quarter with source code versions
  199.  available this summer. Five OEM's will be porting DeskTop Unix to
  200.  the various platforms. This will reduce the number of Unix
  201.  "flavors" so small vendors will be able to bundle Unix Lite with
  202.  machines and still maintain a low profit margin.
  203.  
  204.  
  205.  A new SUN rises:
  206.  
  207.  SPARCstation 3 is the latest offering from SUN MicroSystems in
  208.  the battle for the top workstation of the future. The new
  209.  SPARKstation is said to have a rated performance of 50 SPECmarks,
  210.  a 40 Mhz processor and include an ISDN port on the motherboard.
  211.  It will accomodate up to 4 processors with the base system price
  212.  roughly equal to the SPARCstation 2. The price of the
  213.  SPARCstation 2 is expected to come down around May 19 when the
  214.  SPARCstation 3 will begin shipping.
  215.  
  216.  Brian T. Riley
  217.  
  218.   Tidbits (LRARK) Ricky Mobley
  219.   -------
  220.  
  221.  Article 187 of comp.bugs.misc:
  222.  Path: lrark!ddi1!uunet!uunet!think.com!mips!mips!
  223.                munnari.oz.au!deakin.OZ.AU!rand!cocamrd.mel.cocam.oz.au!rdb
  224.  From: rdb@cocamrd.mel.cocam.oz.au (Rodney Brown)
  225.  Newsgroups: comp.lang.misc,comp.bugs.misc,comp.unix.questions
  226.  Subject: Limits to awk
  227.  Summary: For NF > 99 or length($0) > 3071 use mawk, gawk or perl
  228.  Message-ID: <1076@rand.mel.cocam.oz.au>
  229.  Date: 25 Mar 92 22:23:22 GMT
  230.  Sender: usenet@rand.mel.cocam.oz.au
  231.  Followup-To: comp.bugs.misc
  232.  Organization: Co-Cam Computer Group, Oz
  233.  Lines: 167
  234.  Xref: lrark comp.lang.misc:473 comp.bugs.misc:187 comp.unix.questions:17886
  235.  
  236.  Some years ago I was tripped up by the undocumented (as far as I could see)
  237.  limits in line lengths & numbers of fields in awk.
  238.  This summarizes the limits in the awk versions I tested with the script in the
  239.  enclosed shar.
  240.  
  241.  Maximum Maximum
  242.  Length  Fields  Machine & awk  Size   Date   Uname
  243.  3072    100     /bin/awk       102364 880511 XENIX 2.3.3 SysV i80386
  244.  3072    100     /usr/bin/awk   89108  900612 SCO 3.2 2 i386
  245.  2561    99      /usr/bin/awk   155648 900118 HP-UX hp835 A.B7.00 D 9000/835
  246.  3072    99      /usr/bin/nawk  192512 900118 HP-UX hp835 A.B7.00 D 9000/835
  247.  2560    99      /bin/awk       86608  891031 AIX  Self 2.1 2 20B0166C-IBM RT
  248.  3072    99      /bin/awk       194257 900521 AIX rs6000 1 3 000006073100
  249.  3072    99      /bin/awk       194769 901110 AIX rs6000 1 3 000060783100
  250.  2560    99      /usr/bin/awk   56072  910107 SysVR4v2.0 4.0 2.0 i386/i486
  251.  3072    199     /usr/bin/nawk  110356 910107 SysVR4v2.0 4.0 2.0 i386/i486
  252.  2560    99      /bin/awk       110592 910319 ULTRIX 4.2 0 RISC
  253.  19998   4000    /usr/bin/nawk  102400 910319 ULTRIX 4.2 0 RISC
  254.  3071    100     /usr/bin/nawk  163840 901012 SunOS 4.1.1 1 sun4c
  255.  2559    99      /usr/bin/awk   90112  901012 SunOS 4.1.1 1 sun4c
  256.  >=4095  >=4096  Gnu Awk (gawk) 2.13, pl 2    SunOS 4.1.1 1 sun4c
  257.  >2**17  32767   c.s.r/mawk/mawk1.1/mawk      XENIX 2.3.3 SysV i80386
  258.  32767   32768   Gnu Awk (gawk) 2.13, pl 0    XENIX 2.3.3 SysV i80386
  259.  >2**17  65000   perl 4.0.1.6 pl 19           XENIX 2.3.3 SysV i80386
  260.  /bin/awk core dumps for lengths > 14778      XENIX 2.3.3 SysV i80386
  261.  /usr/bin/awk core dumps for lengths > 11419  SCO 3.2 2 i386
  262.  /bin/awk core dumps for lengths > 2564       AIX  Self 2.1 2 20B0166C-IBM RT
  263.  /bin/awk core dumps for lengths > 3120       AIX rs6000 1 3 000006073100
  264.  /bin/awk core dumps for lengths > 3120       AIX rs6000 1 3 000060783100
  265.  /usr/bin/nawk core dumps for lengths > 5384  HP-UX hp835 A.B7.00 D 9000/835
  266.  /usr/bin/awk core dumps for lengths > 2582   SysVR4v2.0 4.0 2.0 i386/i486
  267.  /usr/bin/nawk core dumps for lengths > 3098  SysVR4v2.0 4.0 2.0 i386/i486
  268.  /bin/awk core dumps for lengths > 9946       ULTRIX 4.2 0 RISC
  269.                                               ULTRIX 4.2 0 RISC
  270.  /usr/bin/nawk doesn't give an error at its maximum line length of 19999
  271.  (including the newline) instead it splits the input line into segments of
  272.  that length.
  273.  
  274.  Both mawk 1.1 & gawk 2.13 seem to cope with very large records,
  275.  gawk 2.13 however seems to be returning the length as a short which is
  276.  why 32767 is the value shown in the table.
  277.  This is the error gawk gives when presented with 32769 fields :-
  278.  gawk: fatal error: set_field: nodes: can't allocate memory (Not enough core)
  279.  
  280.  and for mawk with 32768 fields :-
  281.  mawk: program limit exceeded: maximum number of fields size=32767
  282.  
  283.  The values for perl are from using a2p on the awk oneliners used.
  284.  The 65000 is the split maximum introduced by a2p.
  285.  
  286.  #! /bin/sh
  287.  # This is a shell archive.  Remove anything before this line, then unpack
  288.  # it by saving it into a file and typing "sh file".  To overwrite existing
  289.  # files, type "sh file -c".  You can also feed this as standard input via
  290.  # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  291.  # will see the following message at the end:
  292.  #               "End of shell archive."
  293.  # Contents:  awkfld.sh
  294.  # Wrapped by rdb@cocamrd on Wed Mar 25 23:20:07 1992
  295.  PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  296.  if test -f 'awkfld.sh' -a "${1}" != "-c" ; then
  297.    echo shar: Will not clobber existing file \"'awkfld.sh'\"
  298.  else
  299.  echo shar: Extracting \"'awkfld.sh'\" \(2152 characters\)
  300.  sed "s/^X//" >'awkfld.sh' <<'END_OF_FILE'
  301.  X:
  302.  X# Script tries to find maximum record length for awk & maximum number
  303.  X# of fields awk can cope with in a record.
  304.  X# Also checks for core dumps on long records.
  305.  X# It is using m4's eval(0,10,length) to generate output of given lengths
  306.  X# - which probably requires some kind of SysV m4 - or GNU m4 1.0
  307.  X# Use length($0) instead of length for mawk 1.1
  308.  X#
  309.  X# A maximum record length of 4096 is used
  310.  X# Larger record lengths will require increasing the size of m4's push back
  311.  X# buffer -- m4 -B140000 will cope with 2**17
  312.  X# The upper value to search for can be specified as an argument to the
  313.  X# script.
  314.  X# Note that large numbers of fields (32767) takes a long time (in mawk & gawk)
  315. .
  316.  X#
  317.  Xl=0;
  318.  Xuname=`uname`
  319.  Xif [ $uname  = 'ULTRIX' ] ; then
  320.  X    M4=${M4-m4}
  321.  X    AWK=${AWK-awk}
  322.  X    awk_name=`which $AWK`
  323.  X    u=${1-4096};
  324.  Xelse
  325.  X    if [ $uname = 'SunOS' ] ; then
  326.  X       M4=${M4:=/usr/5bin/m4}
  327.  X    else
  328.  X       M4=${M4:=m4}
  329.  X    fi;
  330.  X    AWK=${AWK:=awk}
  331.  X    awk_name=`type $AWK | sed 's/^.*[  ]\([^   ]*\)$/\1/'`
  332.  X    u=${1:-4096};
  333.  Xfi
  334.  Xuname -a
  335.  Xls -l $awk_name
  336.  Xif [ `expr ${AWK} : 'gawk$'` != 0 ] ; then
  337.  X   ${AWK} -V
  338.  Xfi
  339.  Xif [ -f core ] ; then
  340.  X   rm -f core
  341.  Xfi
  342.  Xecho "eval(0,10,$u)" | $M4 \
  343.  X| $AWK '{print length($0)}' >> /dev/null 2>&1 ;
  344.  Xif [ -f core ] ;
  345.  Xthen
  346.  X   while [ `expr $l + 1` -ne $u ] ; do
  347.  X      m=`expr $l + $u`;
  348.  X      m=`expr $m / 2`;
  349.  X      if echo "eval(0,10,$m)" | $M4 \
  350.  X      | $AWK '{print length($0)}' >>/dev/null 2>&1\
  351.  X      || [ ! -f core ] ;
  352.  X      then
  353.  X        l=$m;
  354.  X      else
  355.  X        u=$m;
  356.  X        rm -f core
  357.  X      fi
  358.  X   done
  359.  X   echo $awk_name core dumps for record lengths greater than `expr $u - 1`
  360.  Xfi
  361.  Xl=0;
  362.  X while [ `expr $l + 1` -ne $u ] ; do
  363.  X   m=`expr $l + $u`;
  364.  X   m=`expr $m / 2`;
  365.  X   x=`echo "eval(0,10,$m)" | $M4 | $AWK '{print length($0)}' 2>>/dev/null`;
  366.  X   if [ $? != 0 -o "$x" != $m ] ;
  367.  X   then
  368.  X      u=$m;
  369.  X   else
  370.  X      l=$m;
  371.  X   fi
  372.  Xdone
  373.  Xecho Longest record for $awk_name is `expr $u - 1`
  374.  Xl=0;
  375.  X# AWK=/user/AUUG/gnu/gawk-2.11/gawk
  376.  Xwhile [ `expr $l + 1` -ne $u ] ; do
  377.  X   m=`expr $l + $u`;
  378.  X   m=`expr $m / 2`;
  379.  X   if echo "eval(0,10,$m)" | $M4 \
  380.  X   | $AWK -F0 '{print NF}' >> /dev/null 2>&1 ;
  381.  X   then
  382.  X      l=$m;
  383.  X   else
  384.  X      u=$m;
  385.  X   fi
  386.  Xdone
  387.  Xecho Maximum fields for $awk_name is $u
  388.  END_OF_FILE
  389.  if test 2152 -ne `wc -c <'awkfld.sh'`; then
  390.      echo shar: \"'awkfld.sh'\" unpacked with wrong size!
  391.  fi
  392.  chmod +x 'awkfld.sh'
  393.  # end of 'awkfld.sh'
  394.  fi
  395.  echo shar: End of shell archive.
  396.  exit 0
  397.  --
  398.  Rodney Brown,  Co-Cam Computer Group,  ACSNet: rdb@mel.cocam.oz.au
  399.  
  400.  --
  401.  rick@lrark.UUCP          *    bang path --> uunet!ddi1!lrark!rick    *
  402.  Ricky Mobley             *          lrark (501) 224-9454             *
  403.  1800 Sanford Dr. #4      *    GEnie Unix RT SysOp address LRARK      *
  404.  Little Rock, AR 72207    *     WB5FDP.AR.USA.NA wb5fdp.ampr.org      *
  405.  
  406.  ----------
  407.  
  408.   "POPULAR" Files Listing                   Andrew Finkenstadt
  409.   =======================                   GE Mail Address ANDY
  410.  
  411.  Over the past couple of months, many of you have visited the
  412.  software libraries and downloaded some interesting files.  In
  413.  case you were wondering what you missed, here are 38 of our
  414.  most popular files which will also be of interest.
  415.  
  416.  I would like to personally point out the files from the "Frequently
  417.  Asked Questions" (FAQ) list for Unix systems in general.  The questions
  418.  answered here are ones that everyone will want to know.  This
  419.  is the April 1992 issue of the FAQ from the Usenet.
  420.  
  421.   File File Name                              Size  Lib
  422.      # Short Description
  423.  ----- -------------------------------- ---------- ----
  424.   3222 UNIX.FAQ1.492                        13,568    5
  425.   3223 UNIX.FAQ2.492                        29,568    5
  426.   3224 UNIX.FAQ3.492                        28,288    5
  427.   3225 UNIX.FAQ4.492                        23,296    5
  428.  
  429.  And without further ado, here is the listing:
  430.   2466 ANON-FTPLIST.Z                       45,056   16
  431.  
  432.   File File Name                              Size  Lib
  433.      # Short Description
  434.  ----- -------------------------------- ---------- ----
  435.        Anonymous FTP Site listing
  436.   3051 BSD-README                           16,768    1
  437.        386BSD release 0.0 description
  438.   3132 CAWF2.ZIP                           134,528    3
  439.        CAWF, an nroff clone for MS-DOS
  440.   2727 COMPRESS.ZIP                         13,696   13
  441.        msdos/unix compress util
  442.   3167 CRACK41.TAR.Z                       112,640    1
  443.        crack41.tar.Z, password cracker
  444.    921 DOMAIN.INF                            7,560   15
  445.        Intro to paths and domain names
  446.   1525 DOSTAR.COM                           22,680   13
  447.        This is a MS/DOS tar program
  448.   2376 E-MAIL.GUIDE                         18,688    4
  449.        John Chew's Internetwork guide
  450.   2914 FPTED2.TAR.Z                         34,688   11
  451.        FPTED2.tar.Z, User friendly editor
  452.     68 INTERNET.ARC                         32,760    1
  453.        Hitchiker's Guide to Internet
  454.   2888 LINUX-ELVIS.TAR.Z                    78,080    3
  455.        elvis (vi) for linux, binary
  456.   2758 LINUX-FAQ.TXT                        32,768    5
  457.        Frequently Asked Questions-LINUX
  458.   2780 LINUX-FILES                          15,488   10
  459.        Linux files available via FTP
  460.   2890 LINUX-GREP.TAR.Z                     72,832    8
  461.        grep 1.5 binary for linux
  462.   2750 LINUX-INFO                           27,904   10
  463.        Information on the LINUX unix clone
  464.   2891 LINUX-PMAKE.Z                        72,320   10
  465.        Make for LINUX (binary)
  466.   3002 LINUX-RELNOTES-0.95                  10,752   10
  467.        Release Notes, Linux Version 0.95
  468.   3121 LINUX-ROOTIMAGE-0.95A.Z             638,464    3
  469.        Linux 0.95a root filesystem image
  470.   2047 MK42BASE.TAR.Z                    1,326,976   10
  471.        mk42base.tar.Z, Mach internals
  472.   3141 NETVIEWS-UNIX AND NT                 78,208   27
  473.        Will Windows NT kill Unix?
  474.   3206 NIXLONG.04.92                        52,480   15
  475.        NixPub long listing for April 1992
  476.   3106 NIXPUB.SHORT.LONG.0292               62,464   15
  477.        long and short public sites Feb 1992
  478.   2016 PCOMM12.TAR.Z                       176,384   16
  479.        pcomm12.tar.Z, pcomm v 1.2.5
  480.   2728 PC_TAR.ZIP                           25,984   13
  481.        tar utility for the pc
  482.   2892 PM_SUPP-TAR.Z                         6,400   10
  483.        Supplemental files, Linux Pmake
  484.    722 PROTOCOL.TXT                         46,620   17
  485.        Compression and Upload Protocol Docs
  486.   3205 README.95C                            2,560   10
  487.        README file for boot95c (Linux 0.95c
  488.   2551 README.MAP                           18,688   15
  489.        how to interpret the UUCPmap files
  490.   3066 RTC0310.92                           17,664    2
  491.        Transcript of 03/10/92 RTC.
  492.   2485 RZSZ.SH.1208                        176,512   16
  493.        ZMODEM C Source Code
  494.   3012 TREE.C                                4,352    1
  495.        tree.c, directory tree browser
  496.   3040 UNIDOS11.ZIP                          9,216    1
  497.        UNIX <--> DOS text file converter
  498.   3118 UNIV_ZIP.TAR.Z                      194,816   13
  499.        univ_zip.tar.Z, universal zip/unzip
  500.   3222 UNIX.FAQ1.492                        13,568    5
  501.        Frequent Unix Questions 4/92, part 1
  502.   3223 UNIX.FAQ2.492                        29,568    5
  503.        Unix Frequent Questions 4/92, Part 2
  504.   3224 UNIX.FAQ3.492                        28,288    5
  505.        Unix Frequent Questions 4/92, part 3
  506.   3225 UNIX.FAQ4.492                        23,296    5
  507.        Unix Frequent Questions 4/92, part 4
  508.     69 UNIX.QUESTIONS.1089                  47,880    5
  509.        Unix questions with answers 10/89.
  510.   1918 UNIX_NEW.TXT                         30,592    5
  511.        unix_new.txt, answers to questions
  512.   2938 UNXNL-02.92                          23,552   27
  513.        Unix RoundTable newsletter Feb 1992
  514.   3044 UNZIP 4.1 TAR.Z                     112,256   13
  515.        UNIX utility to extract MS-DOS ZIPs
  516.   3179 VI.CKV.Z                              3,840    3
  517.        vi.ckv.Z, C coding/log macros for vi
  518.   3020 VI.MACROS.Z                          16,128    3
  519.        vi.macros.Z, tutorial - vi macro use
  520.   3187 XGIFTOOL.TAR.Z                       21,760   18
  521.        Xgiftool.tar.Z, describe/view gif's
  522.   2504 XYZMODEM.ZOO                         46,336   16
  523.        xyzmodem.zoo, comm C source
  524.  
  525.  ----------
  526.  
  527.  FAST and NASTY, DOWN  and  DIRTY:  quick  fix scripts that do something
  528.  ================================
  529.  
  530.  Sub: The Colorado memory systems tape
  531.  
  532.  We have a Colorado Memory Systems tape backup at work.  Yes, I knew
  533.  you'd be thrilled to learn that.
  534.  
  535.  Well, it seems that thae the good people at CMS did not write jtape
  536.  so that it would send out a return code when no tape's in the drive.
  537.  I have resorted to a bit of a work around to deal with this
  538.  situation.  I thought I'd pass it along to you, and maybe it will
  539.  turn out to be useful to someone.  My script writing skills aren't
  540.  too wonderful yet, but I believe you'll get the idea.
  541.  
  542.  SCRIPT:
  543.   # This guy is set up for the Bourne shell.
  544.   #Backup script to be run on a regular basis by cron
  545.  
  546.  if jtape retension | grep 'Error 85' # Error 85 = no tape
  547.   then
  548.       echo "NO BACKUP FOR YOU -- NO TAPE" >/dev/console
  549.       exit 1
  550.   else
  551.       jtape backup "/" -na -c -j -np -s -t "`date` backup" >somefile \
  552.          2>somefile
  553.   fi
  554.   ----------
  555.  
  556.  Tutorials
  557.  =========
  558.  
  559.   vi - part 3, advanced features (GARS) Gary Smith
  560.   ==   ------  -----------------
  561.  
  562.     A tutorial on the Unix visual text editor from the GEnie Unix RoundTable
  563.  
  564.    -- abstract --
  565.  
  566.     Part 1 provided an introduction to vi and gave a quick start to vi usage.
  567.  
  568.     Part 2 finished the basic tools instruction for adding, inserting,
  569.            changing and deleting text.
  570.  
  571.     Part 3 (this session) will be an introduction to macros and a summary
  572.            of what we have learned. There will also be some explanation
  573.            of vi's many hidden secrets.
  574.  
  575.    -- macro basics --
  576.  
  577.    As we discovered in part 2, text can be yanked and put (cut and pasted)
  578.  with vi(), and we even cleaned up our test file using these techniques.
  579.  If you found yourself thinking that while that worked, more modern editors
  580.  do the same job with more ease. You would be right, but you would also be
  581.  making your judgement based on incomplete information. Vi has more tricks
  582.  hidden in it than a carnival magician's coat. There is always another way
  583.  to do things in vi, and many of them are single keystroke works of art.
  584.  Others require some thought in advance, then perform incredible global
  585.  edits. Macro commands can be very tricky, involving nested routines. If you
  586.  really want to use one of the finest edit tools ever created you will take
  587.  the time to explore each of these commands deeper than this tutorial can
  588.  or should take you.
  589.  
  590.    -- buffers and macros --
  591.  
  592.     "xyy Yanks the current line into a named buffer x, then "xP puts the
  593.  text stored in buffer x before the cursor. x can be any of the twenty-six
  594.  letters of the English alphabet. I usually just name mine a, b, c ...
  595.  
  596.  notice the reference to a 'buffer' area and remember an earlier reference
  597.  to vi's use of buffers. Those buffers are a major key to vi's power.
  598.  
  599.    Another use of buffers many users aren't even aware of is what I call
  600.  the 'oops' syndrome.  Have you ever accidently deleted a word or line
  601.  of text only to discover " 'oops', wrong one!"? Of course, you have. We
  602.  all have. Vi buffers to the rescue. Vi maintains the last nine (9) deletes
  603.  in buffers. If you know which delete (say 2 have occured since then, your
  604.  'oops' is number 3) it was all you have to do is position your cursor and
  605.  type "np where n is the number of the delete.
  606.  
  607.    So, you have nine delete buffers, twenty-six named buffers and your entire
  608.  edit file.  That's right, vi is editing your file in a temporary buffer. Not
  609.  only that, but if you lose power your file will be preserved in a .preserve
  610.  directory. When the system powers back up, /tmp contains ex files. A utility
  611.  called /usr/lib/ex3.7preserve is run from etc/rc which sees /tmp and converts
  612.  it to a preserve file. As soon as you log back in, you will get a mail memo
  613.  telling you there is a preserved editor file (vi or ex) you can recover. If
  614.  you type ex -r or vi -r at the system prompt, you will be presented a list
  615.  of recovered files. The last edit you did will probably not be saved, but
  616.  the file as it existed before your last edit will be entirely intact.
  617.  
  618.    If you had suffered a system crash while editing our test file, you would
  619.  simply enter:
  620.  
  621.         vi -r test
  622.  
  623.    Yes, you can use this preserve buffer even without a system crash by using
  624.  the ex command :pre.
  625.  
  626.    Now, let's say you are editing a group of files into one cohesive report,
  627.  but you can't remember all their names. An example might be a series of
  628.  dated travel reports you have to assemble as one trip report, and the days
  629.  are not sequential. You could write down or screen print the file list before
  630.  you start your edit and refer to your list. You could also let another macro,
  631.  map do the work for you. Map lets you create an escape macro that will do
  632.  a job for you. In our case, it is going to create a single keystroke command
  633.  to list the files in our directory and return us to vi and our edit file.
  634.  
  635.    The syntax is simple, and uses the ex map command.
  636.  
  637.         :map l :!ls   <enter>
  638.  
  639.    Now, each time you want to list the files in the directory, make sure you
  640.  are in the command mode and hit l. You will get a directory list immediately
  641.  with a massage to hit enter to return to vi. You hit enter, and type
  642.  
  643.  :r filename <enter>  to reaad in the next file who's name you just verified.
  644.  
  645.    If your terminal has function keys you can make this even more fun. If you
  646.  want function key 3 to list your directory the syntax would be:
  647.  
  648.         :map #3 :!ls   <enter>
  649.  
  650.    What if you discovered you had screwed up by mapping a key you want to use
  651.  in its normal capacity - like assigning l, when we are using it for cursor
  652.  control. If you realize it immediately use your u (undo) command. If you
  653.  discover it later in your edit type:
  654.  
  655.         :unmap l  <enter>
  656.  
  657.     You can chain mapped macros in one map statement. It is not necessary to
  658.  create one macro function per map statement. Macros are simply pre-defined
  659.  sequences of keystrokes. There is nothing to prevent you from calling other
  660.  predefined keystrokes. CAUTION!!! DO NOT create a recursive macro. vi will
  661.  forbid you from creating a macro that calls itself at the end of its sequence,
  662.  but it will not prevent you from embedding such a call. DO NOT do it. The
  663.  results are disastrous.  A recursive macro will expand very rapidly, and
  664.  can loop indefinitely, wipe out your text or suck memory like a black hole.
  665.  Should you accidently create such a monster remember that most macros can be
  666.  interrupted. Try hitting DELETE, RESET/BREAK and <CNTL> C.
  667.  
  668.     Two very important macros have been reserved for the next session. These
  669.  are autoindentation and abbreviations. We will also examine some limitations
  670.  of macros.
  671.  
  672.    -- vi/ex archive --
  673.  
  674.     The GEnie Unix RoundTable has been authorized to mirror the vi/ex archive
  675.  maintained in Bergen Norway by Ove Ruben R. Olsen. The authorization letter is
  676.  conatined in file #2774. There are MANY tutorials, fine help and usage files,
  677.  and refernce charts for vi() and ex() in our library as a result. You can find
  678.  these files by using vi. (with a dot) and ex. as your search keywords. I want
  679.  to encourage you to capture these files and learn from the masters how to turn
  680.  vi and ex into the power user's tools they can and should be.
  681.  
  682.    One of those files is vi.ref.Z, and I am going to copy it here to summarize
  683.  the ex/vi commands you should be comfortable with by now. If you see a command
  684.  and don't know how it works, load your test file and find out by using it. I
  685.  repeat from sessions 1, "Using computers, and especially a complicated editor
  686.  like vi() is a participation, not a spectator, activity."
  687.  
  688.                           Unix vi Reference Card
  689.  
  690.          arrow keys move cursor      ^n,^p,<SP>,<BS> same as arrows
  691.  <ESC>    escape from text entry     ^g     tell what is going on
  692.  :        give ex command            ZZ     write and quit
  693.  <CR>     start of next line          -      start of previous line
  694.  
  695.  ^b       go back one page           ^u     scroll back 1/2 page
  696.  ^f       go forward one page         ^d     scroll forward 1/2 page
  697.                                                or end indent
  698.  ^e       scroll down one line        ^y     scroll up one line
  699.  H        home screen line            L      last screen line
  700.  
  701.  x        delete character            r      replace char with next
  702.                                                typed
  703.  a        append after cursor         A      append after line
  704.  i        insert before cursor        I      insert before line
  705.  p        put before cursor           P      put before line
  706.  u        undo changes                U      undo changes in this
  707.                                                line only
  708.  c obj      change object to following text
  709.  
  710.  
  711.                       Object defining characters
  712.  
  713.  w         forward one word           W      forward, ignore punctuation
  714.  b         backward one word          B         backward, ignore punc.
  715.  e         end of current word        <CR>,- as above
  716.  
  717.  
  718.                        Characters using buffers
  719.  
  720.  d obj      delete object          dd     delete line
  721.  y obj      yanks object      yy     yank line
  722.  p      place what is in buffer
  723.  "        select buffer
  724.  
  725.  NOTE:  There are 26 buffers, each corresponding to a letter of the
  726.         alphabet. To refer to a specific buffer type "<letter> e.g. "a
  727.         refers to buffer a.  Therefore "add would delete the line that
  728.         cursor is on and place it into buffer a.  To place the deleted
  729.         line elsewhere, position cursor and type "ap.
  730.  
  731.         In order to delete or yank a section of text, you must place a
  732.         mark to where the deletion/yank is to stop.  This is done by
  733.         typing: m<letter> (do not use the same buffer to place a mark
  734.         and store text). To return to that location, type `<letter>.
  735.         When deleting or yanking to a mark, say b, position the
  736.         cursor at the beginning of the desired text, and type "ad`b.
  737.         This deletes the text from cursor until mark b, and places it
  738.         in buffer a.  "ad'b will delete until the end of the line in
  739.         which mark b is (note difference in ` and ').
  740.  
  741.  
  742.  
  743.                              Search
  744.  
  745.  /text<CR> search forward for text     ?text<CR> search backward
  746.  n         next occurance              N         next occurance in
  747.                                                  opposite direction
  748.  
  749.                          Miscellaneous
  750.  
  751.  J     adjoin current line to line above
  752.  !!    place results of command into file
  753.          i.e. !!cat it.p will place the list of it.p in your file.
  754.  
  755.  
  756.                         Unix ex Reference Card
  757.  
  758.  
  759.   n      set pointer to line n
  760.   n,n    specify a range of lines for next command
  761.   $      used to indicate last line in file
  762.   .      print current line or end insertion
  763.   p      print specified lines
  764.   p#     print specified lines with line numbers
  765.   a      append lines after this line; end insertion with "."
  766.   i      insert lines after this line; end insertion with "."
  767.   d      delete specified lines
  768.   u      undo last deletion or substitution
  769.   c      change (i.e. replace) specified lines to new text
  770.   ya     yank specified lines into buffer
  771.   pu     lines from buffer before this one
  772.   w      write current text to file
  773.   q      quit edit
  774.   q!     forces quit without write
  775.   wq     write and quit
  776.   vi     enter vi editor
  777.   se     display settings; refer to manual for details
  778.  
  779.  
  780.   /text/                search for text
  781.   //                    search for next occurrence
  782.   s/oldtext/newtext/    substitute newtext for oldtext in
  783.                             specified lines
  784.   n1,n2copy3            copy lines n1-n2 to after n3
  785.   global/pattern/cmds   search file for pattern and do cmds on those
  786.                             lines.
  787.  
  788.   set nu                insert line numbers
  789.   set nonu              remove line numbers
  790.  
  791. --
  792.            "...nothing kills that does not know ye."
  793.                  -Meg Davis, `The Elf Glade'
  794. UUCP: ihnp4!gargoyle!sphinx!d757       d757@sphinx.uchicago.edu
  795.       Lawrence Lerner    University of Chicago Computation Center
  796.  
  797.  
  798.     __         _  Gary Smith           * ... uunet!ddi1!lrark!glsrk!gars  *
  799.    / _' _   _ (_' P. O. Drawer 7680    *     nuucp%ddi1@uunet.UU.NET      *
  800.   /__/ (_|_/ '._) Little Rock,AR 72217 * GEnie Forth RT  &  Unix RT SysOp *
  801.   ---------------        - U. S. A. -  * ph:501-227-7817,fax:501-228-9374 *
  802.                                                         (M-F 0800-1700 CST)
  803.   **** End of article
  804.  ----------
  805.  
  806.   M4 (1)  Tutorial, Part 2             Andrew Finkenstadt
  807.   ========================             GE Mail address ANDY
  808.  
  809.  In February 1992 we began part 1 of this tutorial (file #2938) by
  810.  discussing the uses of m4(1) as a filter for programming and
  811.  documentation, and then used it as part of a database design project
  812.  using SQL, Structured Query Language.
  813.  
  814.  This month we discuss the various command line options that are given
  815.  to m4 when running it, and why we would want to use these options.
  816.  
  817.  Under Interactive Unix System 5 Release 3.2 the m4 processor has just
  818.  8 command line options to consider.  These are:
  819.  
  820.  -e    "Operate interactively.  Interrupts are ignored and the output
  821.        is unbuffered."
  822.  
  823.        That is to say, when you specify -e on the command line, you
  824.        run m4 as if you are typing directly to it.  The reason why
  825.        interrupts are ignored is to compensate for a noisy phone line.
  826.        -e is the easiest way to test out some m4 commands before you
  827.        commit them to disk.
  828.  
  829.  -s    "Enable line sync output for the C preprocessor."
  830.  
  831.        The C preprocessor (typically systems now call this /lib/cpp or
  832.        cc -E) uses this to enable it to track where it is within the
  833.        original source code program.c - it causes m4 to emit
  834.        placemarkers after processing each line.  (C compilers
  835.        typically tell you that 'such and such error' occured on line
  836.        44.  It knows this via the #line comments from m4.)
  837.  
  838.              #line 1
  839.              the results of line 1
  840.              #line 2
  841.              the results of line 2
  842.  
  843.  -B###  "Change the size of the push-back and argument collection
  844.         buffers from the default of 4,096."
  845.  
  846.         m4 only allocates a mediocre amount of memory to macro
  847.         expansion and substitutable parameters, namely 4K.  In general
  848.         this is sufficient for just about any project, but if you end
  849.         up going macro happy or have a very large expansion, you may
  850.         run out of push-back space and receive a cryptic error message
  851.         - or (gasp!) output that is just plain wrong.
  852.  
  853.         If you encounter problems with macros seemingly not working
  854.         right, and can't find any other causes, try increasing the
  855.         push-back size by 4K or more.  (IE: try -B8192 or -B16384 and
  856.         see if the problem goes away.)
  857.  
  858.  -H###  "Change the size of the symbol table hash array from the
  859.         default of 199.  The size should be prime."
  860.  
  861.         m4 uses a hash table to increase the speed with which
  862.         definitions and macros are found.  A typical hash function
  863.         will cause the definition to be found on the first or second
  864.         try.  If many definitions are used then better performance may
  865.         result by increasing the number of elements in the symbol
  866.         table array.  The number had better be prime, else Bad Things
  867.         Happen.
  868.  
  869.  -S###  "Change the size of the call stack from the default of 100
  870.         slots.  Macros take three slots, and non-macro arguments take
  871.         one."
  872.  
  873.         m4 uses a fixed-size stack to contain macro expansions and
  874.         arguments as they are evaluated.  (A stack can be likened to
  875.         the stack of plates at a restaurant: you put a plate on the
  876.         top of the stack, and then when you need a plate, you take the
  877.         top plate from the stack.)
  878.  
  879.         As larger macros are used, with greater complexity, it is
  880.         likely that the stack array will need to be increased.  It is
  881.         good to try increasing this value slowly, perhaps to 150 and
  882.         then to 200.
  883.  
  884.  -T###  "Change the size of the token buffer from the default of 512
  885.         bytes."
  886.  
  887.         A token is the largest "thing" that m4 will recognize.  If you
  888.         were to set T to -T32, then any "token" (you can think of a
  889.         token as a word between spaces or punctuation) longer than 32
  890.         characters would be either ignored, rejected, or shortened.
  891.         If 512 bytes is not enough, perhaps you should teach others
  892.         how you type that fast.  :)
  893.  
  894.  All of the preceeding command line options MUST be specified before
  895.  any files or other options.  There is a reason for this: memory
  896.  allocation is done at the beginning, and must be performed before the
  897.  first files or definitions are created.
  898.  
  899.  -Dname=val
  900.  -Uname
  901.  
  902.         These two command line options allow you to communicate with
  903.         your m4 program and change its behaviour or perhaps alter
  904.         its output from the command line.  Within your m4 program you
  905.         could test for the existence of the definition for UNIX and
  906.         if it were there, you could choose to include a paragraph
  907.         about making sure your local System Administrator has
  908.         sufficient coffee to drink while on the job, where as if
  909.         UNIX is not defined, but DOS is, then it could include a
  910.         blurb about regular backups.
  911.  
  912.         This also allows you to override certain settings.  For example,
  913.         some C compilers do not grok the "void" type of functions.
  914.         You might define void to be int for these old-style compilers:
  915.  
  916.             m4 -Dvoid=int ....
  917.  
  918.  That about does it for command line options to m4.  Next time we look
  919.  at more functions beyond define().  Until then, have fun!
  920.  
  921.  -Andy
  922.  
  923.  *** End of article
  924.  
  925.    ---------------
  926.   REMINDER - This newsletter is being sent to you 'by request'. If you do
  927.  not wish to keep receiving it, e-mail a stop notice to GARS. On the other
  928.  hand, we would very much appreciate it if you would pass the word that we
  929.  do distribute this item near the tenth (10th) of the month of issue to any-
  930.  one on GEnie who requests it.
  931.    P L E A S E  also remember contributions are most welcome. Please e-mail
  932.  items and/or suggestions to GARS.
  933.  
  934.   (EOF)
  935.  
  936.  Trademark and Copyright notices:
  937.  Unix is a Trademark of UNIX System Laboratories, Inc.; GEnie, LiveWire, and
  938.  RoundTable are Trademarks of General Electric Information Services  Company;
  939.  Xenix and ms-dos are Trademarks of  Microsoft  Corporation; NeXT and NeXTstep
  940.  are Trademarks of NeXT Computer Systems, Inc., Coherent is a Trademark of
  941.  Mark Williams Company, Sun is a Trademark of Sun Microsystems, Inc., Colorado
  942.  Memory Systems is a Trademark of Colorado Memory Systems.
  943.  
  944.  The contents of this newsletter are copyright(c) 1992 and may be copied whole
  945.  or in part only if original  credit is included. The GEnie UNIX RoundTable is
  946.  not affiliated with AT&T or UNIX System Laboratories, Inc.
  947.  
  948.